package cn.fj.xtail.admin.service.menu.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.gitee.tongchaowei.model.po.BasePoMP;
import lombok.*;
import lombok.experimental.Accessors;

/**
 * <p>
 * 菜单表
 * </p>
 *
 * @author XTail
 * @since 2025-04-22 09:57:34
 */
@Getter
@Setter
@NoArgsConstructor
@TableName("menu")
@AllArgsConstructor
@Accessors(chain = true)
public class MenuPo extends BasePoMP {

    private static final long serialVersionUID = 1L;

    /**
     * 父级菜单 ID
     */
    @TableField("parent_id")
    private String parentId;

    /**
     * 菜单类型 1:目录;2:菜单;3:iframe;4:外链;
     */
    @TableField("type")
    private Byte type;

    /**
     * 菜单名称（唯一）
     */
    @TableField("name")
    private String name;

    /**
     * 页面路径
     */
    @TableField("page_path")
    private String pagePath;

    /**
     * 路由名称（唯一）
     */
    @TableField("route_name")
    private String routeName;

    /**
     * 路由路径（唯一）
     */
    @TableField("route_path")
    private String routePath;

    /**
     * 路由参数
     */
    @TableField("route_query")
    private String routeQuery;

    /**
     * 链接路径
     */
    @TableField("link_path")
    private String linkPath;

    /**
     * 图标类型 1:iconify图标;2:文本图标;3:链接图标;
     */
    @TableField("icon_type")
    private Byte iconType;

    /**
     * 图标
     */
    @TableField("icon")
    private String icon;

    /**
     * 优先级，数字越大优先级越高
     */
    @TableField("priority")
    private Integer priority;

    /**
     * 是否禁用
     */
    @TableField("disabled")
    private Boolean disabled;

    /**
     * 是否隐藏
     */
    @TableField("hidden")
    private Boolean hidden;

    /**
     * 是否缓存
     */
    @TableField("cached")
    private Boolean cached;

    /**
     * 是否开启标签页
     */
    @TableField("labeled")
    private Boolean labeled;

    /**
     * 在标签页中的优先级
     */
    @TableField("label_priority")
    private Integer labelPriority;
}
